"""
Test configuration module. Don't alter.
"""

#
# attributes that must always be present are capitalized
#
import os
import atlas
from atlas import sql

# specifies the data loading function
from mod454.loader import loader as LOADER

# specifies the data fitter
from mod454.fitter import fitter as FITTER

# specfies the data predictor
from mod454.predictor import predictor as PREDICTOR

# specfies the data exporter
from atlas.commands import exporter as EXPORTER

#
# turn various execution steps on or off
#
LOADER_ENABLED    = True
FITTER_ENABLED    = True
PREDICTOR_ENABLED = True
EXPORTER_ENABLED  = True

#
# directory setup, a string containing the 
# full path to a directory 
# currently set to the default home
home = atlas.ENV.HOME_DIR 

#
# setting up various databases 
#
HDF_DATABASE = atlas.testdata('test-database.hdf', verify=False)
SQL_URI = sql.get_testuri()

#
# overwrite existing lables
#
CLOBBER = True

#
# input data comes from this file
#
DATA_FILE = atlas.testdata( 'input-data.txt' )

#
# the size of the data vector (keep it less than 10 million)
#
DATA_SIZE  = 10**6 

#
# minimum peak height (larger values make for fewer data points)
#
MINIMUM_PEAK_SIZE = 0.1

#
# fitting tolerance
#
SIGMA = 20

#
# fitting width
#
WIDTH = SIGMA * 5

#
# labels for data, fitted data and peaks
#
DATA_LABEL = "TEST"
FIT_LABEL  = "%s-SIGMA-%s" % (DATA_LABEL, SIGMA)
PEAK_LABEL = "PRED-%s" % FIT_LABEL

#
# peak detection parameters, the exclusion zone is the region over which only one
# peak may be predicted
#
EXCLUSION_ZONE = 147

#
# the full interval relative to the maxima 
#
LEFT_SHIFT  = EXCLUSION_ZONE/2
RIGHT_SHIFT = EXCLUSION_ZONE/2


#
# data export 
#

EXPORT_LABELS  = [ PEAK_LABEL ]
EXPORT_DIR     = home + "/html/static/download"

